vim.keymap.set("v", "p", "pgvy", { desc = "Paste", noremap = true, silent = true })
vim.keymap.set("v", "P", "Pgvy", { desc = "Paste", noremap = true, silent = true })

vim.keymap.set({ "n", "i", "v", "t" }, "<Left>", "<Nop>", { noremap = true, silent = true })
vim.keymap.set({ "n", "i", "v", "t" }, "<Right>", "<Nop>", { noremap = true, silent = true })
vim.keymap.set({ "n", "i", "v", "t" }, "<Up>", "<Nop>", { noremap = true, silent = true })
vim.keymap.set({ "n", "i", "v", "t" }, "<Down>", "<Nop>", { noremap = true, silent = true })
-- vim.keymap.set({ "n", "i", "v", "t" }, "<BS>", "<Nop>", { noremap = true, silent = true })

vim.keymap.set("n", "gt", ":bnext<CR>", { desc = "Next Buffer", noremap = true, silent = true })
vim.keymap.set("n", "gT", ":bprevious<CR>", { desc = "Prev Buffer", noremap = true, silent = true })
vim.keymap.set("n", "<leader>bn", ":bnext<CR>", { desc = "Next Buffer", noremap = true, silent = true })
vim.keymap.set("n", "<leader>bf", ":bprevious<CR>", { desc = "Prev Buffer", noremap = true, silent = true })

vim.keymap.set("n", "<A-k>", "<cmd>m .-2<cr>==", { desc = "Move up", noremap = true, silent = true })
vim.keymap.set("n", "<A-j>", "<cmd>m .+1<cr>==", { desc = "Move down", noremap = true, silent = true })
vim.keymap.set("i", "<A-k>", "<esc><cmd>m .-2<cr>==gi", { desc = "Move up", noremap = true, silent = true })
vim.keymap.set("i", "<A-j>", "<esc><cmd>m .+1<cr>==gi", { desc = "Move down", noremap = true, silent = true })
vim.keymap.set("v", "<A-k>", ":m '<-2<cr>gv=gv", { desc = "Move up", noremap = true, silent = true })
vim.keymap.set("v", "<A-j>", ":m '>+1<cr>gv=gv", { desc = "Move down", noremap = true, silent = true })

vim.keymap.set({ "n", "i", "v", "t" }, "<C-`>", "<CMD>ToggleTerm size=10 direction=horizontal<cr>")
